1. Field of the Invention
The present invention relates to a communication apparatus and method.
2. Related Background Art
The Internet Protocol Version 4 (IPv4) has been used for many years in the Internet communication. However, the Internet Protocol Version 6 (IPv6) is proposed as a solution to the problems of the IPv4, such as an insufficient number of addresses, and its practical usage is gradually started.
The IPv6 address has a length of 128 bits. The upper 64 bits of the IPv6 address are data mainly relating to routing and are called “network part.” The lower 64 bits are data which is mainly necessary to finally specify a termination under one router and are called “host part.”
While data in the network part can be configured manually, it can be automatically set by a stateless autoconfiguration technique. Briefly, a device asks a router to send 64-bit data (network prefix) together with a packet called a router advertisement, and sets the received network prefix in the network part to accomplish autoconfiguration. The stateless autoconfiguration is described in detail in, for example, RFC2461 (“Neighbor Discovery for IP Version 6 (IPv6),” T. Narten, E. Nordmark, W. Simpson, December 1998).
A typical IPv6 address uses data called an interface ID for data in the host part. The interface ID is generated as follows based on the MAC address of 48 bits of the Ethernet (registered trademark) interface when the Ethernet (registered trademark) is used in a physical layer.
The IEEE identifier (MAC address) of the Ethernet (registered trademark) is an address of 6 bytes (48 bits), the first three bytes of which are managed and assigned by the IEEE as a manufacture vender code. The remaining three bytes are managed and assigned by each vender in such a way as not to cause overlapping. As codes which are managed by a vender are allocated in such a way as to differ from one Ethernet (registered trademark) card to another, a unique address, only one in the world, corresponds to each Ethernet (registered trademark) card and is used as an address (data link layer address) at the time of transmitting and receiving data on the Ethernet (registered trademark). 64-bit data which is acquired by dividing the MAC address of the Ethernet (registered trademark) into two sub addresses each of three bytes, inserting “FFFE,” a hexadecimal number, between the two sub addresses and setting the seventh bit from the top to “1” is called an interface ID.
With the typical IPv6 address used, the interface ID in the host part is unique as long as the same network interface is used, whereas the network part depends on the network environment. It is therefore possible to trace a device equipped with a network interface by conducting a search using the interface ID as a key. As a device is traceable, the action of a user who uses that device is traceable too. As long as an interface ID is used in the host part, therefore, it is probable that the privacy of the user who uses that device would be invaded.
As a solution to the problem, a special address called “temporary address” is proposed. This temporary address is defined by RFC3041 (“Privacy Extensions for Stateless Address Autoconfiguration IPv6,” T. Narten, R. Draves, January 2001). A temporary address is an address which makes it hard to specify a device by generating different 64-bit data every predetermined period and using the 64-bit data in the host part (lower 64 bits of the IPv6 address).
The following briefly describes how to generate a temporary address. The MD5 message digest algorithm is used to generate a temporary address. “MD5” is a function which outputs 128 bits corresponding to an input of some bits. In this example, 128 bits are input. The upper 64 bits and lower 64 bits of the 128-bit input are configured as follows. The interface ID is the upper 64 bits. A random value of 64 bits generated by some method or the lower 64 bits of the computation result of the last MD5 are the lower 64 bits of the 128-bit input. With the 128 bits being an input, the MD5 message digest algorithm is carried out and the upper 64 bits of the computation result of 128 bits are acquired. The seventh bit in the acquired 64 bits from the left is set to 0 and the resultant 64 bits are treated as the host part. The lower 64 bits of the computation result are recorded to be used in the computation of the next MD5. The details are given in RFC3041.
If different host parts are generated every predetermined period by the method discussed above and a global address using the different host parts is used in communication, it is harder to determine if devices are the same as compared with a case where a global address simply including an interface ID is used in communication, and brings about an effect of preventing privacy violation.
Because the lower 64 bits of the IPv6 address are changed every predetermined period by using the temporary address, the anonymity becomes greater as compared with a case where an interface ID is used for the lower 64 bits.
However, the network part belongs to an Internet service provider or an organization which uses the same devices and is not basically changed unless a network controller does setting in such a way as to change the network prefix. When a stationary type device belongs to a single organization and always uses the same network part, particularly, the organization is likely to be specified. If an organization is specified, one can take various actions, such as requesting a log of the network controller, to specify a user from that device.
In case of wide wireless communication using a mobile IP or so, a network prefix may change as a base station is changed. While this overcomes the problem, it is necessary to actively move a device to change the network prefix. In case where a device is located over two or more radio zones in mobile communication, a zone having a stronger radio wave intensity (higher communication sensitivity) is normally selected to establish communication. If one radio zone apparently has a strong radio wave intensity and no switching of a base station does not take place, therefore, the network prefix does not change, so that the problem is left unsolved. The same is true of a case where there are three or more base stations involved.